/**
 * 
 */
package org.extdev.libraries.ltr;

/**
 * @author LAP
 *
 */
public class LTR11ExceptionGenerator implements LTR11APIConstants {
	public static void throwLTRException(int exceptionNo) throws LTRException {
		LTRExceptionGenerator.throwLTRException(exceptionNo);
		switch(exceptionNo) {
		case LTR11_ERR_INVALID_DESCR: throw new LTRException("Указатель на описатель модуля равен NULL", LTR11_ERR_INVALID_DESCR);
		case LTR11_ERR_INVALID_ADCMODE: throw new LTRException("Недопустимый режим сбора данных", LTR11_ERR_INVALID_ADCMODE);
		case LTR11_ERR_INVALID_ADCLCHQNT: throw new LTRException("Недопустимое количество логических каналов", LTR11_ERR_INVALID_ADCLCHQNT);
		case LTR11_ERR_INVALID_ADCRATE: throw new LTRException("Недопустимое значение частоты дискретизации АЦП модуля", LTR11_ERR_INVALID_ADCRATE);
		case LTR11_ERR_INVALID_ADCSTROBE: throw new LTRException("Задан недопустимый источник тактовой частоты для АЦП модуля", LTR11_ERR_INVALID_ADCSTROBE);
		case LTR11_ERR_GETFRAME: throw new LTRException("Ошибка при получении кадра от модуля", LTR11_ERR_GETFRAME);
		case LTR11_ERR_GETCFG: throw new LTRException("Не получены данные с конфигурацией модуля", LTR11_ERR_GETCFG);
		case LTR11_ERR_CFGDATA: throw new LTRException("Неверный формат данных конфигурации модуля", LTR11_ERR_CFGDATA);
		case LTR11_ERR_CFGSIGNATURE: throw new LTRException("Неверный байт заголовка конфигурации модуля", LTR11_ERR_CFGSIGNATURE);
		case LTR11_ERR_CFGCRC: throw new LTRException("Несовпадение контрольной суммы принятых данных конфигурации модуля с переданной модулем", LTR11_ERR_CFGCRC);
		case LTR11_ERR_INVALID_ARRPOINTER: throw new LTRException("Указатель на массив данных равен NULL", LTR11_ERR_INVALID_ARRPOINTER);
		case LTR11_ERR_ADCDATA_CHNUM: throw new LTRException("В массиве принятых от АЦП модуля данных имеются сбои", LTR11_ERR_ADCDATA_CHNUM);
		case LTR11_ERR_INVALID_CRATESN: throw new LTRException("Указатель на строку с серийным номером крейта равен NULL", LTR11_ERR_INVALID_CRATESN);
		case LTR11_ERR_INVALID_SLOTNUM: throw new LTRException("Недопустимый номер слота в крейте", LTR11_ERR_INVALID_SLOTNUM);
		case LTR11_ERR_NOACK: throw new LTRException("Нет подтверждения выполнения команды от модуля", LTR11_ERR_NOACK);
		case LTR11_ERR_MODULEID: throw new LTRException("Попытка установления канала связи с модулем, не являющимся LTR11", LTR11_ERR_MODULEID);
		case LTR11_ERR_INVALIDACK: throw new LTRException("Неверное подтверждение выполнения команды модулем", LTR11_ERR_INVALIDACK);
		case LTR11_ERR_ADCDATA_SLOTNUM: throw new LTRException("Неверный номер слота в принятых от АЦП LTR11 данных", LTR11_ERR_ADCDATA_SLOTNUM);
		case LTR11_ERR_ADCDATA_CNT: throw new LTRException("Ошибка в счетчике пакетов данных от АЦП LTR11", LTR11_ERR_ADCDATA_CNT);
		case LTR11_ERR_INVALID_STARTADCMODE: throw new LTRException("Недопустимый режим старта сбора данных", LTR11_ERR_INVALID_STARTADCMODE);
		}
	}
}
